// 1. 加载模块
const http = require("http");

// 2. 调用http.createServer() 方法，创建服务对象
const server = http.createServer();

// 3. 指定一个端口，开启服务
// listen(指定的端口号, 处理函数)
server.listen(4000, () => {
    console.log("服务器启动了");
});

// 4. 监听客户端的请求，这是一个事件。如果客户端发来请求，则会触发
server.on("request", (req, res) => {
    // req => request => 请求
    // res => response => 响应
    // console.log("哈哈，你的请求我收到了");

    // 做出响应
    // res.end("hello");

    // 设置响应头，格式客户端，返回的字符的编码是什么
    // res.setHeader("Content-Type", "text/html;charset=utf-8");
    // 设置响应状态码
    // res.statusCode = 200;

    // writeHead()可以设置状态码、响应头...
    res.writeHead(200, {
        "Content-Type": "text/html;charset=utf-8",
        Author: "laotang", // 不能使用中文
    });

    // write()只设置响应体，但不会做出响应
    res.write("<h1>哈哈哈哈哈</h1>");
    // end()可以设置响应体，可以做出响应；end之后将不会再调用其他
    res.end("<h1>哈哈，你终于等到我的回应了</h1>");
});